Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
pages.qc File Reference
Include dependency graph for pages.qc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 PAGE_TEXT_INIT ()
 PAR ("* %s\n* %s\n* %s\n* %s\n* %s\n* %s", _("Bunny Hopping"), _("Strafe Turning"), _("Blaster Jumping"), _("Rocket Flying"), _("Crylink Running"), _("Ramp Jumping"))
 PAR (_("%s (\"Xonotic Pro-Mode\") is a set of gameplay settings often used for competitive play, particularly in %s."), _("XPM"), COLORED_NAME(MAPINFO_TYPE_DUEL))
 PAR (_("%s is a mod that heavily changes the game, giving players fewer but more powerful weapons, nades, and more movement options."), COLORED_NAME(MUTATOR_ok))
 PAR (_("Advanced techniques like \"strafe jumping\" (\"strafing\") or \"circle jumping\" (\"CJ\") offer only limited benefits in vanilla gameplay, " "but are crucial on CTS/DeFRaG servers that use slightly different physics."))
 PAR (_("Another way to learn is to spectate experienced players. " "Observe which weapons they combo and the movement techniques they make use of. " "Also look at which weapons they choose depending on the gameplay situation, for example in close combat, mid-range battles, or against groups of opponents."))
 PAR (_("As for movement tricks, %s is enabled by default in %s, allowing for rapidly changing your movement direction."), COLORED_NAME(MUTATOR_dodging), COLORED_NAME(MUTATOR_ok))
 PAR (_("Bunny hopping (\"bhopping\") is a technique known also from other arena shooters."))
 PAR (_("Bunny hopping around corners requires \"strafe turning\" or you will lose a lot of speed (or simply not be able to make the turn). " "Strafe turning is a method used to quickly change the direction you're traveling while mid-air, without losing speed."))
 PAR (_("By shooting the %s secondary against a wall next to you (just above your head), you can climb up walls quickly. " "This is called \"wall climbing\" with the %s."), COLORED_NAME(WEP_CRYLINK), COLORED_NAME(WEP_CRYLINK))
 PAR (_("Due to air control, you can accelerate while in the air far beyond the maximum ground movement speed. " "To avoid ground friction, players constantly hop by simply keeping %s pressed, so that ground contact doesn't slow them down. " "This allows you to get around the map much faster than if you would just walk."), strcat("^3", _("jump"), "^7"))
 PAR (_("For a new player, the most important tricks to learn are:"))
 PAR (_("For an illustration of this technique, see %s."), "^5xonotic.org/guide^7")
 PAR (_("If you do it right, you will even continue to accelerate in strafe turns."))
 PAR (_("If you don't fire the %s at the floor but instead against a wall next to you, you can get significant horizontal speed. " "You can do this to pick up speed off the stand or even when passing a wall while already bunny hopping."), COLORED_NAME(WEP_BLASTER))
 PAR (_("If you want to master these techniques, be sure to check out %s."), "^5xdf.gg/guide^7")
 PAR (_("In most situations, the %s is more a movement tool than a weapon. " "That's why many players will often have single digit accuracy for the %s. " "It is instead especially useful to make high jumps."), COLORED_NAME(WEP_BLASTER), COLORED_NAME(WEP_BLASTER))
 PAR (_("In order to make a ramp jump, approach a sloped surface (\"ramp\"), jump just before the ramp and keep %s pressed so you jump again once you hit the ramp."), strcat("^3", _("jump"), "^7"))
 PAR (_("In order to waste as little speed as possible while flicking back, switch to a strafe key for the duration of the flick. " "This means using %s if the wall is to your left, and %s if the wall is to your right."), strcat("^3", _("strafe left"), "^7"), strcat("^3", _("strafe right"), "^7"))
 PAR (_("In terms of weaponry, players have infinite ammo and spawn in with the %s, %s, and %s, and can pick up the %s and %s superweapons on the map sometimes. " "These weapons are a lot more powerful than the regular weapons, so their time-to-kill is quite low."), COLORED_NAME(WEP_OVERKILL_SHOTGUN), COLORED_NAME(WEP_OVERKILL_MACHINEGUN), COLORED_NAME(WEP_OVERKILL_NEX), COLORED_NAME(WEP_OVERKILL_HMG), COLORED_NAME(WEP_OVERKILL_RPC))
 PAR (_("It adds extra rules for picking up items, preventing players with 100 or more health or armor from taking %s, %s, %s, and %s pickups, in order to give other players a fairer chance of rebuilding their stack. " "It also disables spawn protection and enables friendly fire in team-based gametypes."), COLORED_NAME(ITEM_HealthBig), COLORED_NAME(ITEM_HealthMedium), COLORED_NAME(ITEM_ArmorBig), COLORED_NAME(ITEM_ArmorMedium))
 PAR (_("Note that if you press the strafe key before releasing the forward key, you will suffer a speed penalty."))
 PAR (_("Note that this strategy only really works if the %s mutator is enabled."), COLORED_NAME(MUTATOR_rocketflying))
 PAR (_("Note that when trying to make a ramp jump while bunny hopping, it is vital to time your hops carefully so you get the angle right."))
 PAR (_("Please note that this guide describes the default game behavior with vanilla settings. " "Xonotic is highly customizable and there are tons of servers out there that run with lightly or highly modified settings."))
 PAR (_("Ramps are an important part of Xonotic map design. " "Any sloped surface that you hit with the right speed and the right angle will give you a significant upwards boost and enable you to reach places that are otherwise accessible only with laser jumps, which cost health and make noise."))
 PAR (_("Some of the statistics are available in-game on your player profile, while the rest are accessible at %s."), "^5stats.xonotic.org^7")
 PAR (_("The %s can be used just like the %s for movement, but it inflicts much more damage to the player. " "In gametypes without self damage however it is a very versatile movement tool."), COLORED_NAME(WEP_DEVASTATOR), COLORED_NAME(WEP_BLASTER))
 PAR (_("The best way to get in touch with the community is to just start playing online and use the in-game chat. " "You can also connect to the official communication channels (%s), and of course the official forum."), comm_channels)
 PAR (_("The drag force of the %s secondary fire can not only break other players' movement, but can also give yourself a significant speed boost."), COLORED_NAME(WEP_CRYLINK))
 PAR (_("The higher the speed you have when you hit the ramp (at the right angle), the stronger the upwards boost. " "As always, you can gain speed before the ramp by bunny hopping."))
 PAR (_("The learning curve is very steep. That said, understanding how the game works will enable you to speed around the map and apply effective weapon combos in no time."))
 PAR (_("The secondary fire of all weapons shoots a laser which does not damage or push enemies, but can be used to push yourself around. " "Also since the %s mutator is active, all players have offhand nades."), COLORED_NAME(MUTATOR_nades))
 PAR (_("The skill gap between new and experienced players is often immense. " "However, this is mostly because experienced players have learned how to make use of the game mechanics. " "If you see experienced players doing tricks you don't understand, don't hesitate to ask anyone on the server!"))
 PAR (_("Therefore, keeping %s held while moving quickly is one of the most essential movement strategies, used by all experienced players."), strcat("^3", _("jump"), "^7"))
 PAR (_("This guide covers the basics one should know about the weapons, items, and other aspects of the game, " "but most of what you will learn will come from trying it out in practice."))
 PAR (_("This is also a good way to save yourself from falling off the map, as it reliably stops your downfall."))
 PAR (_("To \"crylink run,\" shoot the %s secondary at the floor (or a parallel wall) just in front of you and begin bunny hopping to catapult yourself off the stand into high speed. " "Finding the best angle to aim at takes some practice, and changes depending on your speed."), COLORED_NAME(WEP_CRYLINK), COLORED_NAME(WEP_CRYLINK))
 PAR (_("To do a \"laser jump,\" simply fire the %s at your own feet and jump immediately afterwards. " "Experiment a bit with the timing of firing the %s and jumping to get a feeling of which timings will get you how high."), COLORED_NAME(WEP_BLASTER), COLORED_NAME(WEP_BLASTER))
 PAR (_("To use this technique, start a bunny hop. Right after jumping, flick back with your mouse at about 8 o'clock if the wall is to your left (or 4 o'clock if the wall is to your right), aim at the level of your head, and fire the %s. " "Immediately flick back to your movement direction and continue to bunny hop."), COLORED_NAME(WEP_BLASTER))
 PAR (_("Tracking is completely opt-in, and no login is required."))
 PAR (_("Welcome to Xonotic, the free and fast arena shooter!"))
 PAR (_("When doing ramp jumps, it is vital to hit the ramp at a flat angle to receive the upwards boost and not lose too much speed."))
 PAR (_("While bunny hopping, first release %s, then press the strafe key into the turn direction (%s or %s), then start turning smoothly into the turn direction. " "As always, during the entire strafe turn keep %s held."), strcat("^3", _("move forward"), "^7"), strcat("^3", _("strafe left"), "^7"), strcat("^3", _("strafe right"), "^7"), strcat("^3", _("jump"), "^7"))
 PAR (_("While mid-air, you can also fire a rocket underneath yourself and immediately detonate it. " "The explosion will push you upwards a little bit, and can prolong a jump."))
 PAR (_("With default settings, the speed you can reach by bunny hopping is capped at 900 qu/s (\"units per second\"). " "CTS/DeFRaG servers usually run with different CPMA-like physics that remove this cap."))
 PAR (_("Xonotic is a very fast-paced arena shooter. Fast-paced does not only relate to reaction times but also to movement speed. " "That means mastering movement skills is an essential part of Xonotic gameplay and must not be underestimated."))
 PAR (_("Xonotic stands out for its friendly, mature, and welcoming player community, and many long-term players argue that this is probably one of the best things about Xonotic. " "If you approach other players friendly and respectfully, this will be recognized, while acting toxic on the other hand will not make your life easier on the servers."))
 PAR (_("XonStat is the integrated player statistics application for Xonotic. " "It stores vital stats like your kill-death ratio, weapon damage and accuracy, and scoreboards from past games."))
 PAR (_("You can usually find out which settings are modified by issuing %s in console after connecting to a server."), "^3cvar_changes^7")

Variables

this m_description = strzone(PAGE_TEXT)

Function Documentation

◆ PAGE_TEXT_INIT()

PAGE_TEXT_INIT ( )

◆ PAR() [1/49]

PAR ( "* %s\n* %s\n* %s\n* %s\n* %s\n* %s" ,
_("Bunny Hopping") ,
_("Strafe Turning") ,
_("Blaster Jumping") ,
_("Rocket Flying") ,
_("Crylink Running") ,
_("Ramp Jumping")  )

References m_description, and PAGE_TEXT.

◆ PAR() [2/49]

PAR ( _("%s (\"Xonotic Pro-Mode\") is a set of gameplay settings often used for competitive play, particularly in %s.") ,
_("XPM") ,
COLORED_NAME(MAPINFO_TYPE_DUEL)  )

◆ PAR() [3/49]

PAR ( _("%s is a mod that heavily changes the game, giving players fewer but more powerful weapons, nades, and more movement options.") ,
COLORED_NAME(MUTATOR_ok)  )

◆ PAR() [4/49]

PAR ( _("Advanced techniques like \"strafe jumping\" (\"strafing\") or \"circle jumping\" (\"CJ\") offer only limited benefits in vanilla gameplay, " "but are crucial on CTS/DeFRaG servers that use slightly different physics.") )

◆ PAR() [5/49]

PAR ( _("Another way to learn is to spectate experienced players. " "Observe which weapons they combo and the movement techniques they make use of. " "Also look at which weapons they choose depending on the gameplay situation, for example in close combat, mid-range battles, or against groups of opponents.") )

◆ PAR() [6/49]

PAR ( _("As for movement tricks, %s is enabled by default in %s, allowing for rapidly changing your movement direction.") ,
COLORED_NAME(MUTATOR_dodging) ,
COLORED_NAME(MUTATOR_ok)  )

References m_description, and PAGE_TEXT.

◆ PAR() [7/49]

PAR ( _("Bunny hopping (\"bhopping\") is a technique known also from other arena shooters.") )

◆ PAR() [8/49]

PAR ( _("Bunny hopping around corners requires \"strafe turning\" or you will lose a lot of speed (or simply not be able to make the turn). " "Strafe turning is a method used to quickly change the direction you're traveling while mid-air, without losing speed.") )

◆ PAR() [9/49]

PAR ( _("By shooting the %s secondary against a wall next to you (just above your head), you can climb up walls quickly. " "This is called \"wall climbing\" with the %s.") ,
COLORED_NAME(WEP_CRYLINK) ,
COLORED_NAME(WEP_CRYLINK)  )

◆ PAR() [10/49]

PAR ( _("Due to air control, you can accelerate while in the air far beyond the maximum ground movement speed. " "To avoid ground friction, players constantly hop by simply keeping %s pressed, so that ground contact doesn't slow them down. " "This allows you to get around the map much faster than if you would just walk.") ,
strcat("^3", _("jump"), "^7")  )

◆ PAR() [11/49]

PAR ( _("For a new player, the most important tricks to learn are:") )

◆ PAR() [12/49]

PAR ( _("For an illustration of this technique, see %s.") ,
"^5xonotic.org/guide^7"  )

References m_description, and PAGE_TEXT.

◆ PAR() [13/49]

PAR ( _("If you do it right, you will even continue to accelerate in strafe turns.") )

◆ PAR() [14/49]

PAR ( _("If you don't fire the %s at the floor but instead against a wall next to you, you can get significant horizontal speed. " "You can do this to pick up speed off the stand or even when passing a wall while already bunny hopping.") ,
COLORED_NAME(WEP_BLASTER)  )

◆ PAR() [15/49]

PAR ( _("If you want to master these techniques, be sure to check out %s.") ,
"^5xdf.gg/guide^7"  )

References m_description, and PAGE_TEXT.

◆ PAR() [16/49]

PAR ( _("In most situations, the %s is more a movement tool than a weapon. " "That's why many players will often have single digit accuracy for the %s. " "It is instead especially useful to make high jumps.") ,
COLORED_NAME(WEP_BLASTER) ,
COLORED_NAME(WEP_BLASTER)  )

◆ PAR() [17/49]

PAR ( _("In order to make a ramp jump, approach a sloped surface (\"ramp\"), jump just before the ramp and keep %s pressed so you jump again once you hit the ramp.") ,
strcat("^3", _("jump"), "^7")  )

◆ PAR() [18/49]

PAR ( _("In order to waste as little speed as possible while flicking back, switch to a strafe key for the duration of the flick. " "This means using %s if the wall is to your left, and %s if the wall is to your right.") ,
strcat("^3", _("strafe left"), "^7") ,
strcat("^3", _("strafe right"), "^7")  )

References m_description, and PAGE_TEXT.

◆ PAR() [19/49]

PAR ( _("In terms of weaponry, players have infinite ammo and spawn in with the %s, %s, and %s, and can pick up the %s and %s superweapons on the map sometimes. " "These weapons are a lot more powerful than the regular weapons, so their time-to-kill is quite low.") ,
COLORED_NAME(WEP_OVERKILL_SHOTGUN) ,
COLORED_NAME(WEP_OVERKILL_MACHINEGUN) ,
COLORED_NAME(WEP_OVERKILL_NEX) ,
COLORED_NAME(WEP_OVERKILL_HMG) ,
COLORED_NAME(WEP_OVERKILL_RPC)  )

◆ PAR() [20/49]

PAR ( _("It adds extra rules for picking up items, preventing players with 100 or more health or armor from taking %s, %s, %s, and %s pickups, in order to give other players a fairer chance of rebuilding their stack. " "It also disables spawn protection and enables friendly fire in team-based gametypes.") ,
COLORED_NAME(ITEM_HealthBig) ,
COLORED_NAME(ITEM_HealthMedium) ,
COLORED_NAME(ITEM_ArmorBig) ,
COLORED_NAME(ITEM_ArmorMedium)  )

References m_description, and PAGE_TEXT.

◆ PAR() [21/49]

PAR ( _("Note that if you press the strafe key before releasing the forward key, you will suffer a speed penalty.") )

◆ PAR() [22/49]

PAR ( _("Note that this strategy only really works if the %s mutator is enabled.") ,
COLORED_NAME(MUTATOR_rocketflying)  )

References m_description, and PAGE_TEXT.

◆ PAR() [23/49]

PAR ( _("Note that when trying to make a ramp jump while bunny hopping, it is vital to time your hops carefully so you get the angle right.") )

References m_description, and PAGE_TEXT.

◆ PAR() [24/49]

PAR ( _("Please note that this guide describes the default game behavior with vanilla settings. " "Xonotic is highly customizable and there are tons of servers out there that run with lightly or highly modified settings.") )

◆ PAR() [25/49]

PAR ( _("Ramps are an important part of Xonotic map design. " "Any sloped surface that you hit with the right speed and the right angle will give you a significant upwards boost and enable you to reach places that are otherwise accessible only with laser jumps, which cost health and make noise.") )

◆ PAR() [26/49]

PAR ( _("Some of the statistics are available in-game on your player profile, while the rest are accessible at %s.") ,
"^5stats.xonotic.org^7"  )

References m_description, and PAGE_TEXT.

◆ PAR() [27/49]

PAR ( _("The %s can be used just like the %s for movement, but it inflicts much more damage to the player. " "In gametypes without self damage however it is a very versatile movement tool.") ,
COLORED_NAME(WEP_DEVASTATOR) ,
COLORED_NAME(WEP_BLASTER)  )

◆ PAR() [28/49]

PAR ( _("The best way to get in touch with the community is to just start playing online and use the in-game chat. " "You can also connect to the official communication channels (%s), and of course the official forum.") ,
comm_channels  )

References m_description, and PAGE_TEXT.

◆ PAR() [29/49]

PAR ( _("The drag force of the %s secondary fire can not only break other players' movement, but can also give yourself a significant speed boost.") ,
COLORED_NAME(WEP_CRYLINK)  )

◆ PAR() [30/49]

PAR ( _("The higher the speed you have when you hit the ramp (at the right angle), the stronger the upwards boost. " "As always, you can gain speed before the ramp by bunny hopping.") )

◆ PAR() [31/49]

PAR ( _("The learning curve is very steep. That said, understanding how the game works will enable you to speed around the map and apply effective weapon combos in no time.") )

References m_description, and PAGE_TEXT.

◆ PAR() [32/49]

PAR ( _("The secondary fire of all weapons shoots a laser which does not damage or push enemies, but can be used to push yourself around. " "Also since the %s mutator is active, all players have offhand nades.") ,
COLORED_NAME(MUTATOR_nades)  )

◆ PAR() [33/49]

PAR ( _("The skill gap between new and experienced players is often immense. " "However, this is mostly because experienced players have learned how to make use of the game mechanics. " "If you see experienced players doing tricks you don't understand, don't hesitate to ask anyone on the server!") )

◆ PAR() [34/49]

PAR ( _("Therefore, keeping %s held while moving quickly is one of the most essential movement strategies, used by all experienced players.") ,
strcat("^3", _("jump"), "^7")  )

◆ PAR() [35/49]

PAR ( _("This guide covers the basics one should know about the weapons, items, and other aspects of the game, " "but most of what you will learn will come from trying it out in practice.") )

◆ PAR() [36/49]

PAR ( _("This is also a good way to save yourself from falling off the map, as it reliably stops your downfall.") )

References m_description, and PAGE_TEXT.

◆ PAR() [37/49]

PAR ( _("To \"crylink run,\" shoot the %s secondary at the floor (or a parallel wall) just in front of you and begin bunny hopping to catapult yourself off the stand into high speed. " "Finding the best angle to aim at takes some practice, and changes depending on your speed.") ,
COLORED_NAME(WEP_CRYLINK) ,
COLORED_NAME(WEP_CRYLINK)  )

References m_description, and PAGE_TEXT.

◆ PAR() [38/49]

PAR ( _("To do a \"laser jump,\" simply fire the %s at your own feet and jump immediately afterwards. " "Experiment a bit with the timing of firing the %s and jumping to get a feeling of which timings will get you how high.") ,
COLORED_NAME(WEP_BLASTER) ,
COLORED_NAME(WEP_BLASTER)  )

References m_description, and PAGE_TEXT.

◆ PAR() [39/49]

PAR ( _("To use this technique, start a bunny hop. Right after jumping, flick back with your mouse at about 8 o'clock if the wall is to your left (or 4 o'clock if the wall is to your right), aim at the level of your head, and fire the %s. " "Immediately flick back to your movement direction and continue to bunny hop.") ,
COLORED_NAME(WEP_BLASTER)  )

◆ PAR() [40/49]

PAR ( _("Tracking is completely opt-in, and no login is required.") )

◆ PAR() [41/49]

PAR ( _("Welcome to Xonotic, the free and fast arena shooter!") )

◆ PAR() [42/49]

PAR ( _("When doing ramp jumps, it is vital to hit the ramp at a flat angle to receive the upwards boost and not lose too much speed.") )

◆ PAR() [43/49]

PAR ( _("While bunny hopping, first release %s, then press the strafe key into the turn direction (%s or %s), then start turning smoothly into the turn direction. " "As always, during the entire strafe turn keep %s held.") ,
strcat("^3", _("move forward"), "^7") ,
strcat("^3", _("strafe left"), "^7") ,
strcat("^3", _("strafe right"), "^7") ,
strcat("^3", _("jump"), "^7")  )

◆ PAR() [44/49]

PAR ( _("While mid-air, you can also fire a rocket underneath yourself and immediately detonate it. " "The explosion will push you upwards a little bit, and can prolong a jump.") )

◆ PAR() [45/49]

PAR ( _("With default settings, the speed you can reach by bunny hopping is capped at 900 qu/s (\"units per second\"). " "CTS/DeFRaG servers usually run with different CPMA-like physics that remove this cap.") )

References m_description, and PAGE_TEXT.

◆ PAR() [46/49]

PAR ( _("Xonotic is a very fast-paced arena shooter. Fast-paced does not only relate to reaction times but also to movement speed. " "That means mastering movement skills is an essential part of Xonotic gameplay and must not be underestimated.") )

◆ PAR() [47/49]

PAR ( _("Xonotic stands out for its friendly, mature, and welcoming player community, and many long-term players argue that this is probably one of the best things about Xonotic. " "If you approach other players friendly and respectfully, this will be recognized, while acting toxic on the other hand will not make your life easier on the servers.") )

◆ PAR() [48/49]

PAR ( _("XonStat is the integrated player statistics application for Xonotic. " "It stores vital stats like your kill-death ratio, weapon damage and accuracy, and scoreboards from past games.") )

◆ PAR() [49/49]

PAR ( _("You can usually find out which settings are modified by issuing %s in console after connecting to a server.") ,
"^3cvar_changes^7"  )

Variable Documentation

◆ m_description

this m_description = strzone(PAGE_TEXT)

Definition at line 28 of file pages.qc.

Referenced by Command::ATTRIB(), Gametype::ATTRIB(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), PAR(), and PAR().