From The Mana World


Diseased Pinkies

background

At (rare) random times and for a limited (short) duration; an evil fluffy ("Grey Fluffy" or "mrgrey Fluffy" or "GM Fluffy" :) ) appears in Pinkie areas. It has a contagious disease which turns pinkies into "evil pinkies" (black, dark blue...) and spawns new ones (pinkies reproduce at a higher rate when they are sick). They are aggro, can poison, and hit much harder (comparable to green slimes) . They drop Black Antennas, Black Pinkie Hat, Black Pearls, Pink Pearls, dark-blue pearls.... Event stops when either evil fluffy is killed dropping a bunch of nice items (so players have also interest to stop event as items will be rares) or with time out. The event could be also triggered by a player; killing sick Mouboo or cutting desert tree branch for instance or by a GM.

Sent to Jenalya. Discussed with Var about it.

Gina's observation: "First i need to think about, i am not sure if developers should play with Pinky genes";

realization

An invisible NPC controls the event upon a random date (or on reception of a message?): pseudo code:

at server start, initiate first random date: InfectionDate
On reception of DiseasedPinkieStart set InfectionDate to now
set FinishDate to InfectionDate + DurationToChoose                   /* DurationToChoose=30mn
Disease_Loop:
if InfectionDate is greater than Now goto Disease_Later:
   Start_Pinkie_disease:
       spawn  InfectedFluffy( 1)
       Override map's script
       Turn Pinkies into DiseasedPinkies                             /* can be progressive if possible. Insert in temporized loop?
       If {mobcount (InfectedFluffy) <1} set DiseaseEradicated to true
       If Now >= FinishDate set DiseaseEradicated to true
       If DiseaseEradicated is true goto Disease_Finished
   gotoDisease_Loop:
Disease_Finished:
kill remaining DiseasedPinkies
Set InfectionDate to Now + random_time_interval                      /*statistics to be defined: specify mean and time range (Poisson distribution?)
Disease_Later:
goto Disease_Loop
end

Mobs

Infected Fluffy (InfectedFluffy)

status:
spawns DiseasedPinkies as Santaslimes spawns (or similar)
aggro
poisons
drops:Black Pearl( 50%),Black Fur (50 %),Black Fluffy hat (100 %)...

Diseased Pinkie (DiseasedPinkie)

status: comparable to greenslimes or tougher with pinkies' characteristics
aggro
poisons
drops:Black pearl ( %), Black antenna( %), Black Pinkie Hat( %), ...

first drafts by Var graphics :Bluepinkie.pngGrayfluffy.png

(maybe i could do better but not atm :p i was thinking about a shining metallic pinky but uhmm might be weird) i'm still working in the script.

Ciao :D

Script by Var

So far this is the code. i'll add more soon

Code:

 //

008-1.gat,36,26,0   script   Andra   201,{
        mes "[Andra]";
   mes "\"Hello, my name is Andra, what's yours?\"";
   next;
   input @name$;

        mes "[Andra]";
   mes "\"Hello, " + @name$ + "! What is your favorite number?\"";
   next;
   input @num;

   if (@num == 5) goto L_Same;

        mes "[Andra]";
   mes "\"I don't like that one.\"";
   npctalk "Infection date, set to " + $@InfectionDate + " " + gettimetick(2);
   close;

L_Same:
        mes "[Andra]";
   mes "\"Mine too!\"";
   close;

L_Spawn_Infected:

//timer enabled each 1/2 minute
OnTimer30000:
   //resetting the timer to enable the loop
   setnpctimer 0;
   //No infection date set? then init it
   if ($@InfectionDate == 0) goto L_InitInfectionTime;
   //infector spawned? then just do nothing
   if ($@Infector_spawned != 0) goto L_Pass;
   //Time to start of the infection?
   if ($@InfectionDate <= gettimetick(2)) goto L_StartInfection;
   //debug info
   set $@infectedleft, ($@InfectionDate - gettimetick(2));
   npctalk "Next infection in: " + ($@infectedleft) + " seconds.";
   end;

L_StartInfection:
   //If the infection is already running then do nothing
   if ($@Infector_spawned != 0) goto L_Pass;
   //Start a new infection
   set $@Infector_spawned, 1;
   npctalk "An infected maggot appeared!!";
   areamonster "008-1.gat", 36, 26, 37, 27, "The evil maggot", 1002, 1, "Andra::OnInfectorDead";
   goto L_InitInfectionTime;

OnInfectorDead:
   //workaround to init again the infection and show a message of end of infection
   set $@Infector_spawned, 2;
   goto L_InitInfectionTime;
   end;

L_DeadMessage:
   set $@Infector_spawned, 0;
   npctalk "The infector died!!";
   end;

L_Pass:
   end;

L_InitInfectionTime:
   //Min each half day
   set @Days, 1/2;
   set @Min_rand_time, 24 * 60 * 60 * @Days;
   set @Max_rand_time, 24 * 60 * 60 * @Days * 11/10;
   //remove the comment and the *debug* infection date for the release version
   //set $@InfectionDate, gettimetick(2) + rand(@Max_rand_time) + @Min_rand_time;
   set $@InfectionDate, gettimetick(2) + 60;
   if ($@Infector_spawned == 2) goto L_DeadMessage;
   close;

OnInit:
   set @Infector_spawned, 0;
   initnpctimer;
   end;

}

edit: i find out that i miss one thing to make it work as you wish........... http://eathena.ws/wiki/index.php?title=Areamobuseskill that function will let a script to "order" mobs to use a certain skill (transformation in this case) so ...... there is another way to do it but it won't be the same thing as you wanted



Ideas: 1) ask to add that thing (i see it hard....) 2) change something in the event :s (but it will be turn just into another cindy quest thing)

huggies, V.

_________________ Non sprecare tempo con qualcosa ke è già belle che morto, lascia ke i cadaveri giokino nel loro piccolo ed inutile angolo di universo continuando a sognare ke sappiano fare ciò ke non sanno fare.


Me: The idea I had was that the diseased mob would turn pinkies to sick as it meets them. Now it has to be feasible. I don't know actually. Fun has priority one in my opinion.

In general opinion green is the color associated with poison and disease. blue-grey-metal color surprised me a bit but why not?

I think now that infector could have a particle effect. I thought about the potions effect but green and I found a funny unused player glow in client data.

here are both:

(could be named: lime-violent-glow.particle.xml)
?xml version="1.0"?>
<!--
Green-ish particles that fly up to the sky; based on Crush's Soul Menhir effect.
-->
<effect>
  <particle position-x="0" position-y="0" position-z="0">
    <emitter>
      <property name="position-z" min="16" max="48"/>
      <property name="vertical-angle" min="0" max="90"/>
      <property name="horizontal-angle" min="0" max="360"/>
      <property name="power" min="10" max="25"/>
      <property name="lifetime" value="1"/>
      <property name="output" value="1"/>
      <emitter>
        <property name="gravity" value="-0.4"/>
        <property name="momentum" value="0.9"/>
        <property name="image" value="graphics/particles/gloworb-medium.png|W:#a0ff00"/>
        <!--lime color-->
        <property name="lifetime" value="25"/>
        <property name="fade-in" value="5"/>
        <property name="fade-out" value="20"/>
        <property name="output" min="0" max="1"/>
        <property name="output-pause" min="30" max="80"/>
        <property name="randomnes" value="200"/>
      </emitter>
      <emitter>
        <property name="gravity" value="-0.4"/>
        <property name="momentum" value="0.9"/>
        <property name="image" value="graphics/particles/orb-small.png|W:#a0ff00"/>
        <property name="lifetime" value="25"/>
        <property name="fade-in" value="5"/>
        <property name="fade-out" value="20"/>
        <property name="output" min="0" max="1"/>
        <property name="output-pause" min="30" max="80"/>
        <property name="randomnes" value="200"/>
      </emitter>
    </emitter>
  </particle>
</effect>

color of prticle effect could be set to medium-dark grey if we intend to suggest pollution.

Now playerglow.particle.xml. I like the idea of the bat even if a vulture would do it better :)

<?xml version="1.0"?>
<!--
Proof of concept of animated stationary particle effects (a bat ) and some
orbiting yellow particles. Rather useless but could be used as a template for
more useful status effect particle effects.
-->
<effect>
  <particle position-x="0" position-y="0" position-z="64" lifetime="-1">
    <animation imageset="graphics/sprites/monster-bat.png" width="37" height="38">
      <sequence start="1" end="4" delay="50"/>
    </animation>
    <emitter>
      <property name="position-x" min="-1" max="1"/>
      <property name="position-y" min="-1" max="1"/>
      <property name="position-z" min="0" max="0"/>
      <property name="power" min="0" max="3"/>
      <property name="vertical-angle" min="0" max="360"/>
      <property name="output" value="1"/>
      <property name="lifetime" value="60"/>
      <property name="fade-out" value="30"/>
      <property name="acceleration" value="0.1"/>
      <property name="momentum" value="0.998"/>
      <property name="image" value="graphics/particles/orb-medium.png|W:#a0ff00"/>
      <!--color changed from yellow to lime-->
    </emitter>
  </particle>
</effect>

--Nard 03:10, 19 June 2012 (CEST)

New Idea: The diseased pinkies could be healed with a spell (reward pink antenna and better experience). Maybe it is incompatible with infector's script.

--Nard 10:56, 19 June 2012 (CEST)

Links

Dynamic Quests Ilia quest by V0id