Skip to content

Commit 97c5930

Browse files
authored
Add winning contest castles & keeps (#81)
* Add winning contest castles & keeps multis/m_castles_keeps.scp * add 20 castles & 16 keeps from 2018(ish) contest https://uo.com/wiki/ultima-online-wiki/gameplay/houses-placing-a-house/contest-winning-castles/ https://uo.com/wiki/ultima-online-wiki/gameplay/houses-placing-a-house/contest-winning-keeps/ multis/m_foundations.scp * add 24x24 & 31x31 foundations items/i_provisions_deed.scp * add deeds for new multis items/i_building_doors.scp * update sliding doors tdata to match door id set in multis housing/house_telepads.scp * add defnames & function for setting each house telepad coordinates * add type t_hs_telepad to replace t_telepad in houses since link to the multi wont let telepad use morep coords, it sends you to the multi worldgem position housing/house_typedefs.scp * add function in @HouseSysInit to set telepad morep after house creation * Update house_dialogs.scp add new castles & keeps to customize check * Update house_dialogs.scp correct bad id #
1 parent 0446441 commit 97c5930

File tree

6 files changed

+2186
-2
lines changed

6 files changed

+2186
-2
lines changed

housing/house_dialogs.scp

+1-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ if (<isowner <src>>) || (<src.isgm>)
260260
button 7 160 4005 4007 1 0 35
261261
dhtmlgump 44 163 240 20 0 0 <def.bfont_hs_text1>Customize This House
262262
else
263-
if (<baseid>==m_small_stone_keep) || (<baseid>==m_castle) || (<baseid>==m_two_story_wood_and_plaster_house) || (<baseid>=m_two_story_stone_and_plaster_house)
263+
if (<baseid>==m_small_stone_keep) || (<baseid>==m_castle) || (<baseid>==m_two_story_wood_and_plaster_house) || (<baseid>=m_two_story_stone_and_plaster_house) || (<eval <id>> >= 5246)
264264
dhtmlgump 44 143 240 20 0 0 <def.bfont_hs_gray>Convert Into Customizable House
265265
dhtmlgump 44 163 240 20 0 0 <def.bfont_hs_gray>Customize This House
266266
else

housing/house_telepads.scp

+214
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
[DEFNAME house_telepads]
2+
tpad_keep_trinsic_1 4,6,1,47 // comp#,x,y,z
3+
tpad_keep_trinsic_2 5,6,1,27
4+
tpad_keep_trinsic_3 6,-8,-6,67
5+
tpad_keep_trinsic_4 7,7,2,7
6+
tpad_keep_trinsic_5 8,7,2,7
7+
tpad_keep_trinsic_6 9,7,2,7
8+
9+
tpad_keep_robin_nest_1 4,7,2,27
10+
tpad_keep_robin_nest_2 5,2,8,7
11+
tpad_keep_robin_nest_3 6,2,2,47
12+
tpad_keep_robin_nest_4 7,7,2,27
13+
tpad_keep_robin_nest_5 8,9,-10,67
14+
tpad_keep_robin_nest_6 9,2,2,47
15+
16+
tpad_keep_sandalwood_1 4,6,-8,47
17+
tpad_keep_sandalwood_2 5,8,4,27
18+
tpad_keep_sandalwood_3 6,-9,-4,67
19+
tpad_keep_sandalwood_4 7,-8,-8,7
20+
tpad_keep_sandalwood_5 8,7,3,7
21+
tpad_keep_sandalwood_6 9,7,3,7
22+
tpad_keep_sandalwood_7 10,7,3,7
23+
tpad_keep_sandalwood_8 11,7,3,7
24+
25+
tpad_keep_casa_moga_1 4,5,-8,7
26+
tpad_keep_casa_moga_2 5,0,10,7
27+
tpad_keep_casa_moga_3 6,-9,-1,67
28+
tpad_keep_casa_moga_4 7,-1,-8,27
29+
30+
tpad_castle_robin_roost_1 4,0,6,47
31+
tpad_castle_robin_roost_2 5,8,6,27
32+
tpad_castle_robin_roost_3 6,7,-12,67
33+
tpad_castle_robin_roost_4 7,11,1,7
34+
tpad_castle_robin_roost_5 8,11,1,7
35+
tpad_castle_robin_roost_6 9,11,1,7
36+
37+
tpad_castle_sandstone_1 4,9,7,47
38+
tpad_castle_sandstone_2 5,-9,7,47
39+
tpad_castle_sandstone_3 6,7,-9,47
40+
tpad_castle_sandstone_4 7,-10,-9,47
41+
tpad_castle_sandstone_5 8,11,9,27
42+
tpad_castle_sandstone_6 9,-11,9,27
43+
tpad_castle_sandstone_7 10,9,-11,27
44+
tpad_castle_sandstone_8 11,-11,-9,27
45+
46+
tpad_keep_fortress_lestat_1 4,-7,2,7
47+
tpad_keep_fortress_lestat_2 5,-7,2,7
48+
tpad_keep_fortress_lestat_3 6,4,2,27
49+
tpad_keep_fortress_lestat_4 7,-8,12,7
50+
tpad_keep_fortress_lestat_5 8,8,12,7
51+
tpad_keep_fortress_lestat_6 9,8,7,7
52+
tpad_keep_fortress_lestat_7 10,-9,6,47
53+
tpad_keep_fortress_lestat_8 11,4,2,27
54+
tpad_keep_fortress_lestat_9 12,-9,7,67
55+
tpad_keep_fortress_lestat_10 13,-9,6,47
56+
57+
tpad_keep_incarcerated_1 4,6,5,27
58+
tpad_keep_incarcerated_2 5,11,10,27
59+
tpad_keep_incarcerated_3 6,7,6,47
60+
tpad_keep_incarcerated_4 7,11,10,47
61+
tpad_keep_incarcerated_5 8,7,6,67
62+
tpad_keep_incarcerated_6 9,11,10,67
63+
64+
tpad_keep_sally_trees_1 4,2,-7,67
65+
tpad_keep_sally_trees_2 5,9,8,7
66+
67+
tpad_keep_desert_rose_1 4,-8,11,47
68+
tpad_keep_desert_rose_2 5,2,1,27
69+
tpad_keep_desert_rose_3 6,12,-10,67
70+
tpad_keep_desert_rose_4 7,2,0,7
71+
tpad_keep_desert_rose_5 8,2,0,47
72+
tpad_keep_desert_rose_6 9,-9,9,7
73+
tpad_keep_desert_rose_7 10,2,1,27
74+
tpad_keep_desert_rose_8 11,9,-10,7
75+
76+
tpad_keep_clover_1 4,10,6,27
77+
tpad_keep_clover_2 5,10,2,47
78+
tpad_keep_clover_3 6,10,2,67
79+
tpad_keep_clover_4 7,9,9,7
80+
tpad_keep_clover_5 8,9,9,7
81+
tpad_keep_clover_6 9,9,9,7
82+
83+
tpad_castle_sorcerer_1 4,-9,8,7
84+
tpad_castle_sorcerer_2 5,-13,9,67
85+
tpad_castle_sorcerer_3 6,-13,-13,47
86+
tpad_castle_sorcerer_4 7,-11,13,7
87+
tpad_castle_sorcerer_5 8,10,-14,67
88+
tpad_castle_sorcerer_6 9,-9,8,7
89+
tpad_castle_sorcerer_7 10,-9,8,7
90+
tpad_castle_sorcerer_8 11,-12,-4,27
91+
92+
tpad_castle_cascade_1 2,13,10,67
93+
tpad_castle_cascade_2 3,-12,10,67
94+
tpad_castle_cascade_3 4,5,5,47
95+
tpad_castle_cascade_4 5,5,0,27
96+
tpad_castle_cascade_5 6,-8,5,67
97+
tpad_castle_cascade_6 7,10,-12,67
98+
tpad_castle_cascade_7 8,-10,-13,67
99+
tpad_castle_cascade_8 9,5,2,7
100+
tpad_castle_cascade_9 10,5,5,47
101+
tpad_castle_cascade_10 11,5,0,27
102+
tpad_castle_cascade_11 12,5,2,7
103+
tpad_castle_cascade_12 13,-8,-1,67
104+
tpad_castle_cascade_13 14,13,13,7
105+
tpad_castle_cascade_14 15,-10,13,7
106+
tpad_castle_cascade_15 16,5,2,7
107+
tpad_castle_cascade_16 17,5,5,47
108+
tpad_castle_cascade_17 18,13,-10,7
109+
tpad_castle_cascade_18 19,-10,-13,7
110+
111+
tpad_castle_house_ruins_1 4,-5,7,47
112+
tpad_castle_house_ruins_2 5,9,-2,27
113+
tpad_castle_house_ruins_3 6,2,6,7
114+
tpad_castle_house_ruins_4 7,-6,13,7
115+
tpad_castle_house_ruins_5 8,-6,13,7
116+
tpad_castle_house_ruins_6 9,2,-12,47
117+
tpad_castle_house_ruins_7 10,-6,13,7
118+
tpad_castle_house_ruins_8 11,10,6,67
119+
tpad_castle_house_ruins_9 12,13,-2,67
120+
tpad_castle_house_ruins_10 13,0,-11,27
121+
tpad_castle_house_ruins_11 14,10,6,47
122+
tpad_castle_house_ruins_12 15,13,-2,47
123+
124+
tpad_castle_dragonstone_1 4,9,1,27
125+
tpad_castle_dragonstone_2 5,-1,1,47
126+
tpad_castle_dragonstone_3 6,-12,-6,67
127+
tpad_castle_dragonstone_4 7,9,2,7
128+
tpad_castle_dragonstone_5 8,9,2,7
129+
tpad_castle_dragonstone_6 9,9,2,7
130+
131+
tpad_keep_calm_carry_1 4,9,-8,67
132+
tpad_keep_calm_carry_2 5,-9,1,47
133+
tpad_keep_calm_carry_3 6,7,0,27
134+
tpad_keep_calm_carry_4 7,9,1,7
135+
tpad_keep_calm_carry_5 8,9,1,7
136+
tpad_keep_calm_carry_6 9,9,1,7
137+
138+
tpad_keep_ravenloft_1 4,5,-4,47
139+
tpad_keep_ravenloft_2 5,-6,0,47
140+
tpad_keep_ravenloft_3 6,2,0,27
141+
tpad_keep_ravenloft_4 7,9,0,7
142+
tpad_keep_ravenloft_5 8,-9,11,7
143+
tpad_keep_ravenloft_6 9,9,9,7
144+
145+
tpad_keep_queen_retreat_1 4,-8,5,7
146+
tpad_keep_queen_retreat_2 5,-7,10,7
147+
148+
tpad_castle_heorot_1 2,0,1,27
149+
tpad_castle_heorot_2 3,-3,1,47
150+
tpad_castle_heorot_3 4,12,-12,27
151+
tpad_castle_heorot_4 5,3,3,7
152+
tpad_castle_heorot_5 6,12,-13,7
153+
tpad_castle_heorot_6 7,3,3,7
154+
155+
tpad_castle_resistance_1 4,12,7,7
156+
tpad_castle_resistance_2 5,4,1,7
157+
tpad_castle_resistance_3 6,11,12,7
158+
tpad_castle_resistance_4 7,-7,1,7
159+
tpad_castle_resistance_5 8,-12,6,67
160+
tpad_castle_resistance_6 9,-7,5,7
161+
tpad_castle_resistance_7 10,4,-12,47
162+
tpad_castle_resistance_8 11,-11,12,7
163+
tpad_castle_resistance_9 12,4,1,7
164+
tpad_castle_resistance_10 13,4,1,7
165+
166+
167+
[FUNCTION hs_set_telepads]
168+
ref1=<args>
169+
for 1 <ref1.dtag0.telepads>
170+
args=<def.tpad<strsub 1 0 <ref1.baseid>>_<dlocal._for>>
171+
ref2=<ref1.comp.<argv[0]>>
172+
if <ref2.type>==t_telepad
173+
ref2.type=t_hs_telepad
174+
ref2.morex=<eval <ref1.p.x>+<argv[1]>>
175+
ref2.morey=<eval <ref1.p.y>+<argv[2]>>
176+
ref2.morez=<argv[3]>
177+
if <ref2.dmorez> > 60
178+
local.f=4th
179+
elif <ref2.dmorez> > 40
180+
local.f=3rd
181+
elif <ref2.dmorez> > 20
182+
local.f=2nd
183+
else
184+
local.f=1st
185+
endif
186+
ref2.name=<local.f> Floor
187+
ref2.resendtooltip
188+
endif
189+
endfor
190+
191+
[FUNCTION f_hs_telepad]
192+
ref1=<args>
193+
if <ref1>==<src.ctag.telepad> && (<ref1.p.x>==<src.p.x> && <ref1.p.y>==<src.p.y> && <ref1.p.z>==<src.p.z>)
194+
src.go <ref1.morep>
195+
if !<src.isevent.e_house_player_events>
196+
src.events +e_house_player_events
197+
endif
198+
src.ctag.telepad=
199+
endif
200+
ref1.color=0
201+
202+
[TYPEDEF t_hs_telepad]
203+
ON=@ClientToolTip
204+
ADDCLILOC <def.empty_cliloc>,Telepad
205+
ON=@Step
206+
if (<f_house_can_access>)
207+
src.ctag.telepad=<uid>
208+
color=<def.colors_red>
209+
src.timerf 1,f_hs_telepad <uid>
210+
else
211+
return 0
212+
endif
213+
214+
[EOF]

housing/house_typedefs.scp

+3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ ON=@HouseSysInit
2727
link.region.events=+r_house_system
2828
link.region.flags=region_flag_nodecay|region_flag_nobuilding|region_antimagic_recall_in|region_flag_insta_logout
2929
link.tag.buildon=<serv.rtime>
30+
if !<isempty <link.tag.telepads>>
31+
hs_set_telepads <link>
32+
endif
3033
resendtooltip 1,0
3134
endif
3235

0 commit comments

Comments
 (0)