diff options
author | Jesusaves <cpntb1@ymail.com> | 2024-08-08 18:59:01 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2024-08-08 18:59:01 -0300 |
commit | 5af84d339cf38f6433d7572e13f61218048bc980 (patch) | |
tree | 5d22ac5cb3541be3dc64af7c176eb3fbbf901b18 | |
parent | f718e63eded1c10f7b421a3caa3fc8214eabf84c (diff) | |
download | serverdata-5af84d339cf38f6433d7572e13f61218048bc980.tar.gz serverdata-5af84d339cf38f6433d7572e13f61218048bc980.tar.bz2 serverdata-5af84d339cf38f6433d7572e13f61218048bc980.tar.xz serverdata-5af84d339cf38f6433d7572e13f61218048bc980.zip |
Add a draft for what Warp Mage wants, but it doesn't work.
-rw-r--r-- | npc/sec_pri/_import.txt | 1 | ||||
-rw-r--r-- | npc/sec_pri/jailer.txt | 63 |
2 files changed, 64 insertions, 0 deletions
diff --git a/npc/sec_pri/_import.txt b/npc/sec_pri/_import.txt index 085dd0afe..94ac66aeb 100644 --- a/npc/sec_pri/_import.txt +++ b/npc/sec_pri/_import.txt @@ -1,3 +1,4 @@ // Map sec_pri: Jesusalva's Jail // This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/sec_pri/jailer.txt", "npc/sec_pri/mapflags.txt", diff --git a/npc/sec_pri/jailer.txt b/npc/sec_pri/jailer.txt new file mode 100644 index 000000000..e585ba813 --- /dev/null +++ b/npc/sec_pri/jailer.txt @@ -0,0 +1,63 @@ +// TMW-2 Script. +// Author: +// Jesusalva +// Notes: +// Homage to Warp Mage and Crimson Feltchstick for their time spent in jail + +sec_pri,22,21,0 script Warp Feltchstick NPC_PLAYER,{ + mesn; + mesq l("Carry on, criminal. I am %s and this jail was entrusted to me by kytty herself.", .name$); + next; + if ($HARDCORE && getstatus(SC_JAILED,0) && is_admin()) { + // Hardcore Server Logic (DOES NOT WORK well for some reason?) + .@v1=getstatus(SC_JAILED, 1); + .@v2=getstatus(SC_JAILED, 2); + .@v3=getstatus(SC_JAILED, 3); + .@v4=getstatus(SC_JAILED, 4); + .@ti=getstatus(SC_JAILED, 5); + if (.@v1 <= 1) end; + .@ti += 120000; // Penalty time for changing point: 2 minutes + .@v1 += 2; + getmapxy(.@m$, .@x, .@y, 0); + mesc l("Do you want me to change where you'll respawn once you finish serving your sentence? This may increase the sentence duration, so be careful."), 1; + select + l("I'm fine, thanks."), + l("Change to the Soul Menhir, please."); + mes ""; + closeclientdialog; + if (!getstatus(SC_JAILED,0)) end; + switch (@menu) { + case 2: + debugmes "Change MID from %d to %d", .@v2, getmapinfo(MAPINFO_ID, "000-1"); + // Removing the comments below "work", except it warps you to 000-0 + // ...and when jail term expires you go back to jail. "warp" fails. + //sc_end SC_JAILED; + sc_start4 SC_JAILED, .@ti, .@v1, getmapinfo(MAPINFO_ID, "000-1"), 22, 22, 10000, SCFLAG_FIXEDRATE|SCFLAG_FIXEDTICK|SCFLAG_NOAVOID; + //warp .@m$, .@x, .@y; + debugmes "MID is now %d", getstatus(SC_JAILED, 2); + break; + } + } else { + // Official Server logic + closeclientdialog; + // TODO: Say some random anecdote, maybe steal from Confused Tree + Elli + // Using npctalk3 + } + close; + +OnInit: + .sex = G_MALE; + .distance = 14; + .@npcId = getnpcid(.name$); + + setunitdata(.@npcId, UDT_HEADTOP, PrsmHelmet); + setunitdata(.@npcId, UDT_HEADMIDDLE, JeansChaps); + setunitdata(.@npcId, UDT_HEADBOTTOM, Beard); + setunitdata(.@npcId, UDT_WEAPON, CopperArmor); + setunitdata(.@npcId, UDT_HAIRSTYLE, 2); + setunitdata(.@npcId, UDT_HAIRCOLOR, 4); + + npcsit; + end; +} + |