Staff-crap

Daily blablabla -chat here.

Staff-crap

Postby Punishment » 20.02.2012 23:34:46

/*
creator's notice

set_bonuses needs to have some materials binded, aka collect a random variety of materials and "grind staff"
to get them to affect stats. Basic bonuses could be something like +1 allstats (spr, ac and hpr too) then
being raised by the materials grinded.
The materials reset every boot.

The small BUT is that those materials need to be added to the room code with masteryskill search materials
gold - str, silver - dex, bronze - con, wood - int, paper - wis, granite - wc, sand - hpr, glass - spr, steel - specialhit damage
(above ones are just ideas)

Naturally there would be a limit which bonuses to take, lets say max 15 all together. I tried to comment the ideas to above, most important
note is that the basic staff should be easy to find, maybe even from some of some city/cities and the materials harder.

Also, it would not harm to have a mastery skill which could remove binded materials and either save them or lose them in the progress

Message me if you would like some more details of my idea.

- Punishment

*/


inherit "inherit/weapon";


void reset(status arg) {
if(arg) return;
set_name("The staff of grinders");
set_alias("staff");
set_short("The staff of grinders"); // +itemamount of bindings
set_long(
"This appears to be a complicated twine of different materials \n"+
"and plenty of imminent sensation of magical power within. It is \n"+
"obvious, that there is no way to measure its true power. There is \n"+
"a brief piece of runes in the middle part of the handle, perhaps \n"+
"one could try to read it.\n");
set_value(2000); // +100 per grinded material (any type)
set_wc(40); // +2 per grinded material, 65 max (WC type)
set_weight(1); // +1 per grinded material (any type)
set_type("1h staff"); // unless weight > 14kg -> 2h staff

//CONVI
set_read("It says "Grind staff".\n"); // not sure if this is any of use btw
}

//this is called from battle, it allows players to have special hits when this weapon hits, it isn't needed if you don't want to make special hits
void special_hit(object target)
{
//this throws dice which has numbers 0-9, when ever 0 comes it will do whatever is inside of that if
if(!random(10))
{
tell_object(target, "The staff emits a light which BURNS you!\n"); //that \n is linefeed
tell_object(environment(this_object()), "Your staff glows darkly and your opponent seems to suffer!\n");
tell_room(environment(target), TP->query_name() +"'s staff seems to do something to its enemy!\n", ({ target, environment(this_object()) }) );
// things inside of that ({ }) is who we exclude from that telling
target -> hit_player(100); // +10 per grinded material
}
}


//this isn't needed if you don't want to make wield check for weapon
status wield(string str)
{
if(this_player()->query_dexterity() > 50) // -3 per unused grind-slot
{
write("As you wield the staff it feels suprisingly light to swing around\n");
}
else if (this_player()->query_wisdom() > 150) // -10 per unused grind-slot
{
write("You feel a burst of wisdom as you wield the staff.\n");
}
else if (this_player()->query_intelligence() > 150) // -10 per unused grind-slot
{
write("You also feel a burst of intelligence as you wield the staff.\n");
}
else
{
write("As you try to wield the staff, you notice it being useless and put it back to your inventory.\n");
return 1;
}
return ::wield(str);
}


//if you want it to show your name with creator <item> command
string query_creator() { return "Punishment"; }
~= Puni =~

"Nothing says I love you better than a blowjob in the morning"
Punishment
 
Posts: 67
Joined: 29.10.2003 22:20:28
Location: SUOMIPERKELE!

Return to General chat about Winterkill

Who is online

Users browsing this forum: No registered users and 1 guest

cron