diff options
-rw-r--r-- | conf/magic.conf.template | 18 | ||||
-rw-r--r-- | db/item_db.txt | 30 | ||||
-rw-r--r-- | npc/028-1/Doctor4.txt | 8 | ||||
-rwxr-xr-x | npc/028-1/_mobs.txt | 9 |
4 files changed, 37 insertions, 28 deletions
diff --git a/conf/magic.conf.template b/conf/magic.conf.template index ddeac883..12621a34 100644 --- a/conf/magic.conf.template +++ b/conf/magic.conf.template @@ -1473,6 +1473,7 @@ NONMAGIC SILENT SPELL world-shift : "#S00" = => ((REQUIRE rdistance(location(caster), @("028-1.gat", 63, 67)) < 5) => EFFECT sfx(location(caster), SFX_TELEPORT, 200); WAIT 8000; + { savepoint "009-1", 52, 39; }; warp(caster, @("009-1.gat", 55, 37)); sfx(location(caster), SFX_TELEPORT, 200); | @@ -1482,6 +1483,7 @@ NONMAGIC SILENT SPELL world-shift : "#S00" = IF (map_nr(location(caster)) == 9 || map_nr(location(caster)) == 1 || map_nr(location(caster)) == 21 || map_nr(location(caster)) == 20) THEN WAIT 8000; ELSE WAIT 20000; IF (hp(caster) < inithp) THEN ABORT; // Cancel teleport if the player took damage during channel time (hacky, but for most purposes should work.) + { savepoint "028-1", 63, 68; }; warp(caster, @("028-1.gat", 63, 67)); sfx(location(caster), SFX_TELEPORT, 200); ) @@ -1489,6 +1491,7 @@ NONMAGIC SILENT SPELL world-shift : "#S00" = => EFFECT set_script_variable(caster, "Easter_2010_QuestState", script_int(caster, "Easter_2010_QuestState") | (1 << 17)); sfx(location(caster), SFX_TELEPORT, 200); WAIT 8000; + { savepoint "009-1", 52, 39; }; warp(caster, @("009-1.gat", 55, 37)); sfx(location(caster), SFX_TELEPORT, 200); | (REQUIRE map_nr(location(caster)) != 28 && (script_int(caster, "Easter_2010_QuestState") >> 17) & 1 == 0) # Allow for one free warp home without the petal @@ -1498,6 +1501,7 @@ NONMAGIC SILENT SPELL world-shift : "#S00" = ELSE WAIT 20000; IF (hp(caster) < inithp) THEN ABORT; // Cancel teleport if the player took damage during channel time (hacky, but for most purposes should work.) set_script_variable(caster, "Easter_2010_QuestState", script_int(caster, "Easter_2010_QuestState") | (1 << 17)); + { savepoint "028-1", 63, 68; }; warp(caster, @("028-1.gat", 63, 67)); sfx(location(caster), SFX_TELEPORT, 200); ) @@ -1540,7 +1544,7 @@ NONMAGIC SILENT SPELL easter-set-flag (s : PC) : "#k" = close; } -NONMAGIC SILENT SPELL easter-get-debug : "#e" = +NONMAGIC SILENT SPELL easter-get-debug (p : PC) : "#e" = (REQUIRE name_of(caster) == "Freeyorp" || name_of(caster) == "Xakelbael the Dark") => EFFECT { message strcharinfo(0), "Global state egg1: " + $Easter_2010_Egg_Loc_State1; message strcharinfo(0), "Global state egg2: " + $Easter_2010_Egg_Loc_State2; @@ -1550,12 +1554,12 @@ NONMAGIC SILENT SPELL easter-get-debug : "#e" = message strcharinfo(0), "Global npc state1: " + $Easter_2010_Npc_State1; message strcharinfo(0), "Global npc state2: " + $Easter_2010_Npc_State2; }; - message(caster, "Local state egg1: " + script_int(caster, "Easter_2010_EggState1")); - message(caster, "Local state egg2: " + script_int(caster, "Easter_2010_EggState1")); - message(caster, "Local state egg3: " + script_int(caster, "Easter_2010_EggState1")); - message(caster, "Local state egg4: " + script_int(caster, "Easter_2010_EggState1")); - message(caster, "Local state egg5: " + script_int(caster, "Easter_2010_EggState1")); - message(caster, "Local state quest: " + script_int(caster, "Easter_2010_QuestState")); + message(caster, "Local state egg1: " + script_int(p, "Easter_2010_EggState1")); + message(caster, "Local state egg2: " + script_int(p, "Easter_2010_EggState2")); + message(caster, "Local state egg3: " + script_int(p, "Easter_2010_EggState3")); + message(caster, "Local state egg4: " + script_int(p, "Easter_2010_EggState4")); + message(caster, "Local state egg5: " + script_int(p, "Easter_2010_EggState5")); + message(caster, "Local state quest: " + script_int(p, "Easter_2010_QuestState")); diff --git a/db/item_db.txt b/db/item_db.txt index b9f37a46..71f0a7af 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -330,9 +330,9 @@ 1241, SnowmanSnowGlobe, Snowman Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} 1242, SnowGoggles, Snow Goggles, 5, 7500, 5000, 10, , 5, , -2, 0, 2, 256, , 0, 0, {}, {} 1243, PaperHat, Paper Party Hat, 5, 10, 5, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} -1244, DarkTalisman, Dark Talisman, 5, 0, 0, 0, , 30, , 100, 0, 2, 512, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; set @val, getopt2; if (!(@val & 1024)) setopt2 getopt2 | 1024; bonus bMaxHp, 30000; bonus bFlee, -100; } -1245, BentNeedle, Bent Needle, 3, 700, 500, 1, , , , , , 2, , , 0, 0, {}, {} -1246, DarkEasterEgg, Dark Easter Egg, 3, 700, 500, 10, , , , , , 2, , , 0, 0, {}, {} +1244, DarkTalisman, Dark Talisman, 5, 0, 0, 0, , 30, , 100, 0, 2, 512, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; set @val, getopt2; if (!(@val & 1024)) setopt2 getopt2 | 1024; bonus bMaxHp, 30000; bonus bFlee, -150; } +1245, BentNeedle, Bent Needle, 3, 700, 100, 1, , , , , , 2, , , 0, 0, {}, {} +1246, DarkEasterEgg, Dark Easter Egg, 3, 700, 50, 10, , , , , , 2, , , 0, 0, {}, {} 1247, HeartGlasses, Heart Glasses, 5, 7500, 5000, 10, , 4, , 5, 0, 2, 256, , 0, 0, {}, {} 1248, Blueberries, Blueberries, 0, 1000, 500, 120, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} 1249, StrangeCoin, Strange Coin, 3, 7000, 5000, 180, , , , , , 2, , , 0, 0, {}, {} @@ -341,8 +341,8 @@ 1252, Cherry, Cherry, 0, 1000, 500, 48, , , , , , 2, , , 0, , { itemheal 250, 0; }, {} 1253, GoldenDeliciousApple, GoldenDeliciousApple, 0, 1000, 500, 48, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} 1254, DarkPetal, Dark Petal, 3, 15000, 8000, 250, , , , , , 2, , , 0, , {}, {} -1255, WhiteRabbitEars, White Rabbit Ears, 5, 10, 5, 1, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -1256, EggshellHat, Eggshell Hat, 5, 10, 5, 1, , 12, , 0, 0, 2, 256, , 1, 0, { bonus bAgi, -1; }, {} +1255, WhiteRabbitEars, White Rabbit Ears, 5, 7000, 5000, 1, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +1256, EggshellHat, Eggshell Hat, 5, 7000, 5000, 1, , 12, , 0, 0, 2, 256, , 1, 0, { bonus bAgi, -1; }, {} 1257, FlawedLens, Flawed Lens, 3, 10000, 5000, 112, , , , , , 2, , , 0, 0, {}, {} 1258, Honey, Honey, 0, 100, 80, 2, , , , , , 2, , , , , { itemheal 45, 0; }, {} @@ -504,13 +504,13 @@ 2187, OrangePaperhat, Orange Paper Party Hat, 5, 10, 5, 1, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} 2188, PurplePaperhat, Purple Paper Party Hat, 5, 10, 5, 1, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} 2189, DarkGreenPaperhat, Dark Green Paper Party Hat, 5, 10, 5, 1, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2190, RedRabbitEars, Red Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2191, GreenRabbitEars, Green Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2192, DarkBlueRabbitEars, Dark Blue Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2193, YellowRabbitEars, Yellow Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2194, LightBlueRabbitEars, Light Blue Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2195, PinkRabbitEars, Pink Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2196, BlackRabbitEars, Black Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2197, OrangeRabbitEars, Orange Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2198, PurpleRabbitEars, Purple Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2199, DarkGreenRabbitEars, Dark Green Rabbit Ears, 5, 10, 5, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2190, RedRabbitEars, Red Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2191, GreenRabbitEars, Green Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2192, DarkBlueRabbitEars, Dark Blue Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2193, YellowRabbitEars, Yellow Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2194, LightBlueRabbitEars, Light Blue Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2195, PinkRabbitEars, Pink Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2196, BlackRabbitEars, Black Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2197, OrangeRabbitEars, Orange Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2198, PurpleRabbitEars, Purple Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2199, DarkGreenRabbitEars, Dark Green Rabbit Ears, 5, 7000, 5000, 5, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} diff --git a/npc/028-1/Doctor4.txt b/npc/028-1/Doctor4.txt index 9402dff8..dcbe7481 100644 --- a/npc/028-1/Doctor4.txt +++ b/npc/028-1/Doctor4.txt @@ -236,12 +236,12 @@ L_lens_loop_auto_post_warp_hair: if (@effects > @crystalEnergy) goto L_lens_autofix_texture; L_lens_loop_auto_post_fix_texture: set @temp, 0; - if (!(@effects > 80 && rand(@dilution) && !(@effects & 1))) set @temp, 1; + if (!(@effects < 65 && rand(@dilution) < 2 && (@effects & 7))) set @temp, 1; if (@temp == 1) set @retloc, 2; if (@temp == 1) goto L_lens_drydamage; L_lens_loop_auto_post_drydamage: set @temp, 0; - if (@effects + @crystalEnergy / 3 > 120 && (!(@pcmod & 1) || @pcmod & 2)) set @temp, 1; + if ((@effects + @crystalEnergy / 3 > 85 || (@textureID == 0 && rand(@effects + @crystalEnergy) > 30)) && (!(@pcmod & 1) || @pcmod & 2)) set @temp, 1; if (@temp == 1) set @retloc, 3; if (@temp == 1) goto L_lens_directdamage; set @temp, 0; @@ -264,7 +264,7 @@ L_lens_loop_check: // Check to whether you finished here if ((@textureID == 3 || @textureID == 2) && @tintID == 0 && @opacityID == 0 && @rounds < 3) goto L_lens_early; if ((@textureID == 3 || @textureID == 2) && @tintID == 0 && @opacityID == 0) goto L_lens_complete; - if (@textureID == 0 && (@rounds + 2) / (@dilution + 2) > 4) goto L_lens_dry_destroyed; + if (@textureID == 0 && (@rounds + 36) / (@dilution + 5) > 4) goto L_lens_dry_destroyed; if ((@damage > 3 && @crystalEnergy > 80) || (@damage > 2 && @crystalEnergy > 80 && @textureID == 0)) goto L_lens_violently_destroyed; next; goto L_lens_loop_main; @@ -302,7 +302,7 @@ L_lens_pc_use_pearl: delitem "Pearl", 1; mes "You pass the pearl to the Doctor, who awkwardly takes it with one hand, grinds it into powder with another device, all the while keeping the container firmly in place. After he finishes, you sprinkle the powder evenly over the concoction."; if (@textureID > 1) set @textureID, @textureID - 1; - if (rand(3 * (@rounds + 2) / (@dilution + 2)) > 0) set @tintID, @tintID & ~1; // Remove red + if (rand(3 * (@rounds + 6) / (@dilution + 2)) > 0) set @tintID, @tintID & ~1; // Remove red if (rand(2) > 0) set @tintID, @tintID & ~2; // Remove blue if (rand(3) > 0) set @tintID, @tintID & ~4; // Remove yellow if (rand(@opacityID) == 0) set @opacityID, @opacityID + 1; diff --git a/npc/028-1/_mobs.txt b/npc/028-1/_mobs.txt index 45a97279..acab9cd6 100755 --- a/npc/028-1/_mobs.txt +++ b/npc/028-1/_mobs.txt @@ -5,8 +5,8 @@ 028-1.gat,93,33,48,32 monster Wisp 1040,8,200000,15000,Mob028-1::On1040 028-1.gat,93,33,46,34 monster Spectre 1042,8,200000,15000,Mob028-1::On1042 028-1.gat,93,33,44,36 monster Poltergeist 1047,8,200000,15000,Mob028-1::On1047 -028-1.gat,35,64,38,9 monster Sea Slime 1017,18,100000,1200,Mob028-1::On1017 -028-1.gat,45,75,22,10 monster Sea Slime 1017,18,100000,1200,Mob028-1::On1017 +028-1.gat,35,64,38,9 monster Sea Slime 1033,18,100000,1200,Mob028-1::On1033 +028-1.gat,45,75,22,10 monster Sea Slime 1033,18,100000,1200,Mob028-1::On1033 028-1.gat,23,101,1,1 monster squirrel 1038,1,300000,50000,Mob028-1::On1038 028-1.gat,68,95,71,18 monster Wisp 1040,8,200000,15000,Mob028-1::On1040 028-1.gat,76,100,93,16 monster Spectre 1042,8,200000,15000,Mob028-1::On1042 @@ -25,6 +25,11 @@ On1019: callfunc "MobPoints"; break; +On1033: + set @mobID, 1033; + callfunc "MobPoints"; + break; + On1038: set @mobID, 1038; callfunc "MobPoints"; |