This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
maps:howto:apartments_for_everyone [2018/04/09 06:54] karl [Key Sale House] Add .diff |
maps:howto:apartments_for_everyone [2018/04/10 06:37] karl [Advguild Map Adjustments] be more precise for the change in the slaying key attribute |
||
---|---|---|---|
Line 37: | Line 37: | ||
===== Stoneville ===== | ===== Stoneville ===== | ||
- | Stoneville has four permanent apartments available : house1, apartment2, apartment3, housebrxzl . \\ | + | Stoneville has four / five permanent apartments available : house1, luxhouse, ([[#Apartment2|apartment2]]) , apartment3, [[#Brxzl's Home|housebrxzl]] . \\ |
- | Stoneville's Adventurer's Guild has a few permanent chambers available, but offers only one key each chamber. | + | Stoneville's [[#Adventurer's Guild]] has a few permanent chambers available, but offers only one key each chamber. |
- | The four permanent apartments are accessible from the world map tile //world/world_103_127// : \\ | + | Goto [[#End of Stoneville World Map]] . |
+ | |||
+ | The Luxory Manor is accessible from the world map tile //world/world_102_127// \\ | ||
+ | and adding a diff for one added //unique 1// line would probably be too much : | ||
+ | <code conf> | ||
+ | arch grass | ||
+ | x 49 | ||
+ | y 22 | ||
+ | end | ||
+ | arch house_1 | ||
+ | name Luxory Manor | ||
+ | slaying /dragonisland/luxhouse | ||
+ | hp 7 | ||
+ | x 49 | ||
+ | y 22 | ||
+ | unique 1 | ||
+ | end | ||
+ | </code> | ||
+ | |||
+ | Three / four permanent apartments are accessible from the world map tile //world/world_103_127// , \\ | ||
+ | where [[#Apartment2]] could be also treated non-player unique : \\ | ||
''diff -p -C 7 /usr/games/crossfire-1.60.0/share/crossfire/maps/world/world_103_127 /usr/games/crossfire-1.70.0/share/crossfire/maps/world/world_103_127'' | ''diff -p -C 7 /usr/games/crossfire-1.60.0/share/crossfire/maps/world/world_103_127 /usr/games/crossfire-1.70.0/share/crossfire/maps/world/world_103_127'' | ||
<code diff> | <code diff> | ||
Line 118: | Line 138: | ||
x 12 | x 12 | ||
</code> | </code> | ||
+ | |||
+ | **Note:** There are two approaches for the //apartment2// possible : \\ | ||
+ | total player-uniqueness as it would be in above diff, \\ | ||
+ | and partly globally / partly player-unique . | ||
+ | |||
+ | == End of Stoneville World Map == | ||
+ | |||
+ | Goto [[#Stoneville]] . | ||
+ | |||
+ | ---- | ||
==== Brxzl's Home == | ==== Brxzl's Home == | ||
Line 128: | Line 158: | ||
and until then, the stairs would complain being "closed" . | and until then, the stairs would complain being "closed" . | ||
- | So, housebrxzl needs to be patched also : \\ | + | Goto [[#End of Brxzl's Home]] . |
+ | |||
+ | So, file //housebrxzl// needs to be patched also : \\ | ||
''diff -p -C 7 /usr/games/crossfire-1.60.0/share/crossfire/maps/dragonisland/housebrxzl /usr/games/crossfire-1.70.0/share/crossfire/maps/dragonisland/housebrxzl'' | ''diff -p -C 7 /usr/games/crossfire-1.60.0/share/crossfire/maps/dragonisland/housebrxzl /usr/games/crossfire-1.70.0/share/crossfire/maps/dragonisland/housebrxzl'' | ||
Line 377: | Line 409: | ||
x 55 | x 55 | ||
</code> | </code> | ||
+ | |||
+ | == End of Brxzls' Home== | ||
+ | Goto [[#Brxzl's Home]] . | ||
+ | |||
+ | ---- | ||
==== Key Sale House == | ==== Key Sale House == | ||
Line 1243: | Line 1280: | ||
== End Keysale == | == End Keysale == | ||
Back to top of [[#Key Sale House]] . | Back to top of [[#Key Sale House]] . | ||
+ | |||
+ | ---- | ||
==== Adventurer's Guild == | ==== Adventurer's Guild == | ||
+ | The Adventurer's Guild in Stoneville offers 5 small chambers \\ | ||
+ | of the size of 2x2 tiles to the player, \\ | ||
+ | and one slightly larger chamber with 3x2 tiles. \\ | ||
- | FIXME TODO | + | All these six rooms would need their own map files. \\ |
+ | The five smaller chambers are all the same in shape. \\ | ||
+ | But the internal values differ each of these five room files for the \\ | ||
+ | exit target point **hp** meaning **x** on the main advguild map file \\ | ||
+ | and the //name Private Chamber 1// line. | ||
+ | Goto [[#End of Room Map]] . \\ | ||
+ | |||
+ | Here is now first the map file for the first of the small rooms, \\ | ||
+ | slightly more than 100 lines long for "just" 16 ground tiles, \\ | ||
+ | named as //dragonisland/advengld/priv_chamber1// : \\ | ||
+ | <code conf> | ||
+ | arch map | ||
+ | name Private Chamber 1 | ||
+ | region stoneville | ||
+ | width 4 | ||
+ | height 4 | ||
+ | enter_x 1 | ||
+ | enter_y 3 | ||
+ | msg | ||
+ | Creator: Karl the Gnadder | ||
+ | Email: root@puppypc | ||
+ | Date: Mon Apr 9 21:46:18 2018 | ||
+ | endmsg | ||
+ | difficulty 1 | ||
+ | nosmooth 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | end | ||
+ | arch wall_2_2_2 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | y 1 | ||
+ | end | ||
+ | arch wall_2_1_1 | ||
+ | y 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | y 2 | ||
+ | end | ||
+ | arch wall_2_1_1 | ||
+ | y 2 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | y 3 | ||
+ | end | ||
+ | arch wall_1_2 | ||
+ | y 3 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 1 | ||
+ | end | ||
+ | arch wall_2_1_2 | ||
+ | x 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 1 | ||
+ | y 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 1 | ||
+ | y 2 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 1 | ||
+ | y 3 | ||
+ | end | ||
+ | arch oakdoor | ||
+ | x 1 | ||
+ | y 3 | ||
+ | slaying /dragonisland/advguild | ||
+ | hp 1 | ||
+ | sp 5 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 2 | ||
+ | end | ||
+ | arch wall_2_1_2 | ||
+ | x 2 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 2 | ||
+ | y 1 | ||
+ | end | ||
+ | arch bed_save | ||
+ | x 2 | ||
+ | y 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 2 | ||
+ | y 2 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 2 | ||
+ | y 3 | ||
+ | end | ||
+ | arch wall_1_4 | ||
+ | x 2 | ||
+ | y 3 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 3 | ||
+ | end | ||
+ | arch wall_2_2_3 | ||
+ | x 3 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 3 | ||
+ | y 1 | ||
+ | end | ||
+ | arch wall_2_1_1 | ||
+ | x 3 | ||
+ | y 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 3 | ||
+ | y 2 | ||
+ | end | ||
+ | arch wall_2_1_1 | ||
+ | x 3 | ||
+ | y 2 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 3 | ||
+ | y 3 | ||
+ | end | ||
+ | arch wall_2_2_4 | ||
+ | x 3 | ||
+ | y 3 | ||
+ | end | ||
+ | </code> | ||
+ | The map was created with the X11 [[:crossfireeditor#Crossedit]] editor version 1.10.0 \\ | ||
+ | and manually added missing "standard" attribute entries found \\ | ||
+ | in map files of version 1.70.0 . | ||
+ | |||
+ | **Note:** The player does not show up on tile x 4 , but x 5 on the \\ | ||
+ | advguild main map, because the "check_inv" arch could leave the door open, \\ | ||
+ | when the player leaves his chamber, thus enabling other players and the \\ | ||
+ | randomly moving NPCs to gain access to that private room, when the gate is left open. :-) | ||
+ | |||
+ | ==End of Room Map== | ||
+ | |||
+ | Up to [[#Adventure's Guild]] . | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Advguild Map Adjustments == | ||
+ | |||
+ | When we have the priv_chamber1 file ( and adjusted priv_chamber[2-5] ) in the \\ | ||
+ | //stoneville/advengld// folder, then the main guild entry map file "advguild" \\ | ||
+ | needs to be fixed to enable the uniqueness of the priv_chamber* maps. | ||
+ | |||
+ | Two invis_exit archetypes are added, \\ | ||
+ | the chamber-side check_inv disabled by commenting, \\ | ||
+ | the keys made non-unique and set //nrof 3// , so they \\ | ||
+ | are getting generated new each map reset and thus these chambers \\ | ||
+ | becomming available again to other players. | ||
+ | |||
+ | Goto [[#End of Advguild Diff]] | ||
+ | |||
+ | Bash commandline: \\ | ||
+ | ''diff -upBw /usr/games/crossfire-1.60.0/share/crossfire/maps/dragonisland/advguild /usr/games/crossfire-1.70.0/share/crossfire/maps/dragonisland/advguild'' | ||
+ | |||
+ | Roughly 130 codes already just for the first chamber in the NW-corner : | ||
+ | <code diff> | ||
+ | --- /usr/games/crossfire-1.60.0/share/crossfire/maps/dragonisland/advguild 2018-04-10 09:50:58.337686606 -0100 | ||
+ | +++ /usr/games/crossfire-1.70.0/share/crossfire/maps/dragonisland/advguild 2018-04-10 09:21:52.288788952 -0100 | ||
+ | @@ -214,17 +214,30 @@ x 1 | ||
+ | y 1 | ||
+ | unique 1 | ||
+ | end | ||
+ | + | ||
+ | +#--- Gate 1 | ||
+ | arch woodfloor | ||
+ | x 1 | ||
+ | y 2 | ||
+ | unique 1 | ||
+ | end | ||
+ | -arch check_inv | ||
+ | -slaying guildap1 | ||
+ | + | ||
+ | +#arch check_inv | ||
+ | +#slaying stvadvgapart1 | ||
+ | +#x 1 | ||
+ | +#y 2 | ||
+ | +#connected 101 | ||
+ | +#end | ||
+ | + | ||
+ | +arch invis_exit | ||
+ | x 1 | ||
+ | y 2 | ||
+ | -connected 101 | ||
+ | +slaying /dragonisland/advengld/priv_chamber1 | ||
+ | +hp 1 | ||
+ | +sp 3 | ||
+ | +unique 1 | ||
+ | end | ||
+ | + | ||
+ | arch woodfloor | ||
+ | x 1 | ||
+ | y 3 | ||
+ | @@ -238,12 +253,16 @@ arch woodfloor | ||
+ | x 1 | ||
+ | y 4 | ||
+ | end | ||
+ | + | ||
+ | arch check_inv | ||
+ | -slaying guildap1 | ||
+ | +slaying stvadvgapart1 | ||
+ | x 1 | ||
+ | y 4 | ||
+ | connected 101 | ||
+ | end | ||
+ | + | ||
+ | +#---- /Gate 1 | ||
+ | + | ||
+ | arch woodfloor | ||
+ | x 1 | ||
+ | y 5 | ||
+ | @@ -454,6 +474,16 @@ x 2 | ||
+ | y 2 | ||
+ | unique 1 | ||
+ | end | ||
+ | + | ||
+ | +arch invis_exit | ||
+ | +x 2 | ||
+ | +y 2 | ||
+ | +slaying /dragonisland/advengld/priv_chamber1 | ||
+ | +hp 1 | ||
+ | +sp 3 | ||
+ | +unique 1 | ||
+ | +end | ||
+ | + | ||
+ | arch woodfloor | ||
+ | x 2 | ||
+ | y 3 | ||
+ | @@ -824,14 +854,15 @@ end | ||
+ | arch woodfloor | ||
+ | x 4 | ||
+ | y 1 | ||
+ | -unique 1 | ||
+ | +#unique 1 | ||
+ | end | ||
+ | arch key2 | ||
+ | name Key to guild apartment 1 | ||
+ | -slaying guildap1 | ||
+ | +slaying stvadvgapart1 | ||
+ | +nrof 3 | ||
+ | x 4 | ||
+ | y 1 | ||
+ | -unique 1 | ||
+ | +#unique 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 4 | ||
+ | @@ -840,16 +871,19 @@ end | ||
+ | arch woodfloor | ||
+ | x 4 | ||
+ | y 3 | ||
+ | +#unique 1 | ||
+ | end | ||
+ | arch igate_closed_1 | ||
+ | x 4 | ||
+ | y 3 | ||
+ | connected 201 | ||
+ | blocksview 0 | ||
+ | +#unique 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 4 | ||
+ | y 4 | ||
+ | +#unique 1 | ||
+ | end | ||
+ | arch altar | ||
+ | name drop 500 food to get a key | ||
+ | @@ -857,6 +891,7 @@ food 500 | ||
+ | x 4 | ||
+ | y 4 | ||
+ | connected 201 | ||
+ | +#unique 1 | ||
+ | end | ||
+ | arch woodfloor | ||
+ | x 4 | ||
+ | </code> | ||
+ | |||
+ | And this code needs to be done for the other 4 small chambers \\ | ||
+ | and the 1 larger chamber; with adjustments to the slaying filename \\ | ||
+ | and disabling the //unique 1// for the keys to these chambers. | ||
+ | |||
+ | **Note:** The key slaying attribute value has been changed to //stvadvgapart[1-6]// therefore, \\ | ||
+ | since it is four times "guildap"[1,2,3,6] and two times "advap"[4,5] , \\ | ||
+ | to make them more unique inside the whole maps collection. | ||
+ | |||
+ | **Note:** The prices for the altars are not adjusted, since 2000 goldcoin \\ | ||
+ | for the largest room is actually the cheapest price for all of the 6 rooms; \\ | ||
+ | guessing that it is more difficult to collect 5 dragon scales than 2000 gold coins. | ||
+ | |||
+ | ==End of Advguild Diff== | ||
+ | Up to [[#Advguild Map Adjustments]] . | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Apartment2 == | ||
+ | The house //stoneville/apartment2// offers two different rooms : \\ | ||
+ | One chamber for 10 gold coins and a permanent apartment with 4 unique keys. | ||
+ | |||
+ | Here are two ways possible to make that map unique to each player: \\ | ||
+ | Either by setting the EXIT entry from the world_X_Y map "unique 1" , \\ | ||
+ | as it is done in the diff for the world map 103_127 for [[#Stoneville]] , \\ | ||
+ | or to use the approach described in the [[#Advguild Map Adjustments]] section for the \\ | ||
+ | permanent chamber(s) and unsetting the uniqueness of the four available keys and altar, \\ | ||
+ | making this map partly player-unique and partly globally "unique" . | ||
+ | |||
+ | **Note:** The default 'gooldfloor' approach in the map for the non-permanent room \\ | ||
+ | with the cleaning woman inside to the right does not work for me. :!: Bug ? | ||
+ | |||
+ | |||
+ | ---- | ||
===== City De Clouds ===== | ===== City De Clouds ===== | ||
Line 1254: | Line 1615: | ||
The City de Clouds has several types of apartments available. | The City de Clouds has several types of apartments available. | ||
+ | Already player-unique are the maps | ||
+ | * /mlab/citydeclouds/cdcapart1 | ||
+ | * that has unneeded /mlab/citydeclouds/cdcapart2 being set unique too :!: Bug ? | ||
+ | * /mlab/citydeclouds/villa/citydecloudsvillab1 | ||
+ | * /mlab/citydeclouds/villa/citydecloudsvillab2 | ||
+ | which are unfortunately (not yet) available on the [[:servers:metalforge]] server. | ||
+ | |||
+ | Then there are 4 "Town Haus" and 5 Open-Air "Lot" available, \\ | ||
+ | that can be "easily" made player-unique by the approach \\ | ||
+ | described in [[#Brixzl's Home]] , with adjustments to their \\ | ||
+ | upper floor level files and making the exit to the CDC-Mainmap \\ | ||
+ | absolute ''slaying /full/path/to/game_map'' as ''slaying /mlab/citydeclouds/cloudworlddecity'' \\ | ||
+ | instead of the relative approach ''slaying ../game_map'' as ''slaying ../cloudworlddecity'' \\ | ||
+ | as it is written in there . \\ | ||
+ | ( relative path would not work anymore inside //var/players/<player_name>// directories \\ | ||
+ | to step back into the crossfire world ) | ||
+ | And there are also three larger rooms available and \\ | ||
+ | several different kind of Bank Vault's and Deposits; \\ | ||
+ | that would need the approach described for the [[#Adventurer's Guild]] in [[#Stoneville]] . | ||